|
Lokalizacja w menu |
---|
Modyfikacja → Ulepsz kształt |
Środowisko pracy |
Rysunek Roboczy, BIM |
Domyślny skrót |
U P |
Wprowadzono w wersji |
- |
Zobacz także |
Rozbij kształt |
Polecenie Ulepsz kształt ulepsza wybrane obiekty. Wynik zależy od liczby wybranych obiektów i ich typu. Polecenie może na przykład łączyć elementy i tworzyć ściany. Warto spróbować uaktualnić wybrane obiekty kilka razy, aby zobaczyć czy można uzyskać lepszy rezultat. Zobacz przykład na obrazku. Należy pamiętać, że nie wszystkie obiekty można uaktualnić. To polecenie jest odpowiednikiem polecenia środowiska pracy Rysunek Roboczy Rozbij kształt.
Otwarta nieedytowalna linia łamana jest przekształcana w linię zamkniętą, a następnie w ścianę. Zamknięta, nieedytowalna, kwadratowa linia jest również przekształcana w ścianę. Dwie ściany są następnie ulepszane, aby utworzyć złożenie, które jest ostatecznie ulepszane do pojedynczego edytowalnego szkicu polilinii.
Zobacz również stronę: Dokumentacja API generowana automatycznie oraz Podstawy pisania skryptów dla FreeCAD.
Do ulepszania obiektów obiektów służy metoda upgrade
środowiska Rysunek Roboczy.
upgrade_list = upgrade(objects, delete=False, force=None)
objects
zawiera obiekty, które mają zostać zaktualizowane. Może to być pojedynczy obiekt lub lista obiektów.delete
ma wartość True
, to obiekty źródłowe zostaną usunięte.force
wymusza określony sposób aktualizacji poprzez wywołanie określonej funkcji wewnętrznej. Może to być: "makeCompound"
, "closeGroupWires"
, "makeSolid"
, "closeWire"
, "turnToParts"
, "makeFusion"
, "makeShell"
, "makeFaces"
, "draftify"
, "joinFaces"
, "makeSketchFace"
, "makeWires"
lub "turnToLine"
.upgrade_list
. Jest to lista zawierająca dwie listy: listę nowych obiektów i listę obiektów do usunięcia. Jeśli delete
ma wartość True
, to druga lista jest pusta.Przykład:
import FreeCAD as App
import Draft
doc = App.newDocument()
circle = Draft.make_circle(1000)
rectangle = Draft.make_rectangle(2000, 800)
doc.recompute()
add_list1, delete_list1 = Draft.upgrade([circle, rectangle], delete=False)
line1 = Draft.make_line(App.Vector(2000, 0, 0), App.Vector(2500, 1500, 0))
line2 = Draft.make_line(App.Vector(2500, 1500, 0), App.Vector(3000, -1000, 0))
doc.recompute()
add_list2, delete_list2 = Draft.upgrade([line1, line2], delete=False)
simple_wire = add_list2[0]
add_list3, delete_list3 = Draft.upgrade(simple_wire, delete=False)
closed_wire = add_list3[0]
add_list4, delete_list4 = Draft.upgrade(closed_wire, delete=False)
face = add_list4[0]
add_list5, delete_list5 = Draft.upgrade(face, delete=False)
doc.recompute()